: ""));
if (window && GDK_WINDOW_TYPE (window) == GDK_WINDOW_ROOT)
{
+ window_impl->unscaled_width = xevent->xconfigure.width;
+ window_impl->unscaled_height = xevent->xconfigure.height;
window->width = (xevent->xconfigure.width + window_impl->window_scale - 1) / window_impl->window_scale;
window->height = (xevent->xconfigure.height + window_impl->window_scale - 1) / window_impl->window_scale;
_gdk_window_update_size (window);
- _gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
+ _gdk_x11_window_update_size (window_impl);
_gdk_x11_screen_size_changed (screen, xevent);
}
{
window->x = event->configure.x;
window->y = event->configure.y;
+ window_impl->unscaled_width = xevent->xconfigure.width;
+ window_impl->unscaled_height = xevent->xconfigure.height;
window->width = event->configure.width;
window->height = event->configure.height;
_gdk_window_update_size (window);
- _gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
+ _gdk_x11_window_update_size (window_impl);
if (window->resize_count >= 1)
{
if (impl->cairo_surface)
{
cairo_xlib_surface_set_size (impl->cairo_surface,
- gdk_window_get_width (impl->wrapper) * impl->window_scale,
- gdk_window_get_height (impl->wrapper) * impl->window_scale);
+ impl->unscaled_width, impl->unscaled_height);
}
}
window->y = 0;
window->abs_x = 0;
window->abs_y = 0;
+ impl->unscaled_width = WidthOfScreen (x11_screen->xscreen);
+ impl->unscaled_height = HeightOfScreen (x11_screen->xscreen);
window->width = WidthOfScreen (x11_screen->xscreen) / impl->window_scale;
window->height = HeightOfScreen (x11_screen->xscreen) / impl->window_scale;
window->viewable = TRUE;
window->height = 32767 / impl->window_scale;
}
+ impl->unscaled_width = window->width * impl->window_scale;
+ impl->unscaled_height = window->height * impl->window_scale;
+
impl->xid = XCreateWindow (xdisplay, xparent,
(window->x + window->parent->abs_x) * impl->window_scale,
(window->y + window->parent->abs_y) * impl->window_scale,
win->x = attrs.x / impl->window_scale;
win->y = attrs.y / impl->window_scale;
+ impl->unscaled_width = attrs.width;
+ impl->unscaled_height = attrs.height;
win->width = attrs.width / impl->window_scale;
win->height = attrs.height / impl->window_scale;
win->window_type = GDK_WINDOW_FOREIGN;
if (impl->override_redirect)
{
+ impl->unscaled_width = width * impl->window_scale;
+ impl->unscaled_height = height * impl->window_scale;
window->width = width;
window->height = height;
_gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
}
else
{
- if (width != window->width || height != window->height)
+ if (width * impl->window_scale != impl->unscaled_width || height * impl->window_scale != impl->unscaled_height)
window->resize_count += 1;
}
}
window->x = x;
window->y = y;
+ impl->unscaled_width = width * impl->window_scale;
+ impl->unscaled_height = height * impl->window_scale;
window->width = width;
window->height = height;
}
else
{
- if (width != window->width || height != window->height)
+ if (width * impl->window_scale != impl->unscaled_width || height * impl->window_scale != impl->unscaled_height)
window->resize_count += 1;
}
}
(window->x + window->parent->abs_x) * impl->window_scale,
(window->y + window->parent->abs_y) * impl->window_scale);
else if (WINDOW_IS_TOPLEVEL(window))
- XResizeWindow (GDK_WINDOW_XDISPLAY (window),
- GDK_WINDOW_XID (window),
- window->width * impl->window_scale,
- window->height * impl->window_scale);
+ {
+ if (impl->override_redirect)
+ {
+ impl->unscaled_width = window->width * impl->window_scale;
+ impl->unscaled_height = window->height * impl->window_scale;
+ }
+
+ XResizeWindow (GDK_WINDOW_XDISPLAY (window),
+ GDK_WINDOW_XID (window),
+ window->width * impl->window_scale,
+ window->height * impl->window_scale);
+ }
else
- XMoveResizeWindow (GDK_WINDOW_XDISPLAY (window),
- GDK_WINDOW_XID (window),
- (window->x + window->parent->abs_x) * impl->window_scale,
- (window->y + window->parent->abs_y) * impl->window_scale,
- window->width * impl->window_scale,
- window->height * impl->window_scale);
+ {
+ impl->unscaled_width = window->width * impl->window_scale;
+ impl->unscaled_height = window->height * impl->window_scale;
+
+ XMoveResizeWindow (GDK_WINDOW_XDISPLAY (window),
+ GDK_WINDOW_XID (window),
+ (window->x + window->parent->abs_x) * impl->window_scale,
+ (window->y + window->parent->abs_y) * impl->window_scale,
+ window->width * impl->window_scale,
+ window->height * impl->window_scale);
+ }
gdk_window_invalidate_rect (window, NULL, TRUE);